﻿using System.Windows.Input;
using MapEngine;
using GameEngine.Model.Data;
using System;

namespace GameEngine.View.Components
{
    public interface IThingView<MyIdType, BaseUIElementType> : IUIView
        where MyIdType : IComparable<MyIdType>
    {
        void Initialize(IViewVO<MyIdType> vo);

        /// <summary>
        /// </summary>
        /// <param name="uiElement"></param>
        /// <param name="position"></param>
        /// <param name="rotation"></param>
        void AddElement(IViewStateVO state, BaseUIElementType uiElement, Point3d position, Point3d rotation, Point3d scale);

        void UpdateState(IViewStateVO state);

        string Tooltip
        {
            get;
            set;
        }
        //void Animate();
    }
}
